package com.service.admin.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.service.admin.member.controller.rep.MemberPgeRep;
import com.service.admin.member.controller.rep.StoreCountPageRep;
import com.service.admin.member.controller.req.MemberPageReq;
import com.service.admin.member.controller.req.StoreCountPageReq;
import com.service.admin.member.dto.MemberStoreChange;
import com.service.core.rest.response.CommonPageRep;
import com.service.dao.enums.MemberJAType;
import com.service.dao.model.MemberStore;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * <dl>
 * <dt>back-end</dt>
 * <dd>Description:</dd>
 * <dd>Copyright: Copyright (C) 2015</dd>
 * <dd>Company: </dd>
 * <dd>CreateDate: 2019年09月24日</dd>
 * </dl>
 *
 * @author
 */
public interface MemberStoreService extends IService<MemberStore> {

    Integer changeMemberStore(MemberStoreChange memberStoreChange);

    MemberStore getMemberStore(Integer memberId, String coinsName);

    void payByMemberStore(Integer memberId, String coinsName, MemberJAType payType, BigDecimal payMoney, Integer orderId);

    CommonPageRep<StoreCountPageRep> pageMemberCount(StoreCountPageReq req);

    List<MemberStore> selectByMemberId(Integer memberId, Integer coinStatus);

    BigDecimal totalStatementByParam(String coinsName);
}
